package com.example.demo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

import org.springframework.util.StringUtils;

public class CommonUtil {

	/**
	 * 
	 * 方法描述: 日期格式化 时间戳
	 * 
	 * @param seconds
	 * @param format
	 * @return
	 * @author lixh
	 */
	public static String timeStamp2Date(String seconds, String format) {
		if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
			return "";
		}
		if (format == null || format.isEmpty()) {
			format = "yyyy-MM-dd";
		}
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		return sdf.format(seconds);
	}

	/**
	 * 
	 * 方法描述: status 数字状态转化为汉字
	 * 
	 * @return
	 * @author lixh
	 */
	public static String ifStatus(String status) {
		if (StringUtils.isEmpty(status)) {
			return "";
		}
		if (status.equals("1")) {
			return "有效";
		}
		if (status.equals("0")) {
			return "无效";
		}
		return "";
	}

	/**
	 * 
	 * 方法描述: 法律条款类型
	 * 
	 * @return
	 * @author lixh
	 */

	public static String LawsType(String type) {
		if (StringUtils.isEmpty(type)) {
			return "";
		}
		if (type.equals("1")) {
			return "全文";
		}
		if (type.equals("2")) {
			return "法律条款";
		}
		return "";
	}

	/**
	 * 将日期格式的字符串转换为java.util.Date类型的时间(不带时分秒)
	 * 
	 * @param datestr
	 * @return
	 * @throws ParseException
	 */
	public static Date getStringToDate(String formate, String datestr) {
		if (StringUtils.isEmpty(datestr)) {
			return null;
		}
		try {
			if (StringUtils.isEmpty(formate)) {
				formate = "yyyy-MM-dd";
			}
			SimpleDateFormat sdf = new SimpleDateFormat(formate);
			return sdf.parse(datestr);
		} catch (Exception e) {
			throw new RuntimeException("字符串转换成日期格式发生错误,请检查字符串格式是否正确", e);
		}
	}

	public static Date formatDate(String datdString) throws ParseException {
		datdString = datdString.replace("GMT", "").replaceAll("\\(.*\\)", "");
		// 将字符串转化为date类型，格式2016-10-12
		SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd yyyy hh:mm:ss z", Locale.ENGLISH);
		Date dateTrans = format.parse(datdString);
		return dateTrans;
	}

	/**
	 * 
	 * 方法描述 : 判断字符串是否包含数字 ：用ascii码
	 * 
	 * @param str
	 * @return
	 * @author lixh
	 */
	public static boolean isNumeric(String str) {
		for (int i = str.length(); --i >= 0;) {
			int chr = str.charAt(i);
			if (chr < 48 || chr > 57)
				return false;
		}
		return true;
	}

}
